package com.leo.component;

import com.almasb.fxgl.dsl.FXGL;
import com.almasb.fxgl.entity.component.Component;
import javafx.scene.shape.Rectangle;

/**
 * @Author: wangss
 * @CreateTime: 2023-06-17  23:00
 * @Description: TODO
 */
public class DialogComponent extends Component {

    @Override
    public void onAdded() {
        Rectangle rectangle = (Rectangle) entity.getViewComponent().getChildren().get(0);
        rectangle.setOnMouseClicked(event -> {
            // 信息对话框
//            FXGL.getDialogService().showMessageBox("你好，哈哈！！！");

            // 选择对话框
//            FXGL.getDialogService().showChoiceBox("color", color -> rectangle.setFill(color), Color.RED, Color.GREEN, Color.BROWN);
//            FXGL.getDialogService().showChoiceBox("color", color -> rectangle.setFill(color), Color.RED, Color.GREEN, Color.BROWN, Color.BISQUE);

            // 进度条对话框，不会自动关闭，可以使用定时任务关闭
//            DialogBox color = FXGL.getDialogService().showProgressBox("color");
//            PauseTransition transition = new PauseTransition(Duration.seconds(2));
//            transition.setOnFinished(event1 -> color.close());
//            transition.play();

//            Image image = new Image("https://lmg.jj20.com/up/allimg/4k/s/02/2109250006343S5-0-lp.jpg", true);
//            FXGL.getDialogService().showProgressBox("下载图片。。。", image.progressProperty(), () -> {
//                ImageView im = new ImageView(image);
//                FXGL.spawn("bg", new SpawnData().put("imageView", im));
//            });

            // 输入对话框
//            FXGL.getDialogService().showInputBox("请输入姓名：", name -> !"admin".equalsIgnoreCase(name), s -> {
//                FXGL.showMessage("你的名字是：" + s);
//            });

            // 确认对话框
            FXGL.getDialogService().showConfirmationBox("是否不知道弄啥", aBoolean -> {
                if (aBoolean) {
                    FXGL.showMessage("明白");
                }
            });

            // 还有其他对话框不在演示
        });
    }
}
